Conceptual Foundations for the Design Transformation of Procedural Software to Object-Oriented Architecture
نویسندگان
چکیده
The movement from algorithmic decomposition, structured design and procedural implementation towards objectoriented design and programming has resulted in a growing need to restructure/re-engineer old programs which have a poor architecture in order to reap the benefits of this new technology. It is more economic to restructure existing software into an object-oriented topology by identifying objects within the subject system rather than to redesign the software starting from the requirements. Such object identification relies upon program analysis and a study of inter-component relationships and dependencies. This paper initially provides a conceptual foundation for migration from a procedural to an object-oriented software architecture for legacy software, which relies upon a view of the software life cycle, in which all software development is considered to be an evolutionary activity with re-engineering/restructuring as an important process applied repeatedly to the artefacts of development at various stages in this evolution. We then introduce a novel approach of viewing a procedural program from an object-oriented perspective in which there is single “god” class, which has a large number of global variables and methods, supported by several user defined classes which have no behaviour, only data definitions. This view, coupled with repeated restructuring, enables a seamless migration of behaviour from the god class to other classes using design transformation methods. There is a distinction between the processes of translation and transformation, processes that we contend are orthogonal to each other, which thereby enables us to concentrate on behaviour-preserving design transformations in order to migrate from one design to another, leaving the language issues to be handled by translators. Finally, the paper describes some basic design transformations which preserve system behaviour over the partitioning of classes. A CASE tool ‘RESTRUCT’ which is based on these ideas is being implemented to test the ideas presented in this paper.
منابع مشابه
Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملSome Design Transforms
Migration from procedural architecture to object oriented architecture is possible through design transformations. This paper initially provides a conceptual foundation for migration from procedural to object oriented software architecture for legacy software. Firstly, it relies upon a view of software life cycle, in which all software development is considered to be evolutionary activity with ...
متن کاملAvailability evaluation of Software architecture of object oriented Style using coloured Petri nets
Software architecture is one of the most fundamental products in the process of software development in the areas of behavioral or non- behavioral features like availability or transformability change. There are different ways to evaluate software architecture one of which is the creation of application model. An executable model of software architecture is an official description of architectu...
متن کاملResource Usage Matrix in Object Identification and Design Transformation of Legacy Procedural Software
This paper provides a novel technique for object identification from legacy procedural software, which can also be applied in partitioning of classes in object oriented software systems. Currently there is a movement towards object oriented design and programming, from algorithmic decomposition, structured design and procedural implementation. It is more economic to restructure existing softwar...
متن کاملA Template for Design Transform Specification
Migration from a procedural architecture to an objectoriented architecture is possible through an appropriate sequence of design transformations. This paper initially provides a conceptual foundation for migration from a procedural to an object-oriented software architecture for legacy software, which relies upon a view of the software life cycle, in which all software development is considered...
متن کامل